﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AmazonMODEL
{
    #region Wireless
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Wireless
    {

        private WirelessProductType productTypeField;

        /// <remarks/>
        public WirelessProductType ProductType
        {
            get
            {
                return this.productTypeField;
            }
            set
            {
                this.productTypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class WirelessProductType
    {

        private object itemField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("WirelessAccessories", typeof(WirelessAccessories))]
        [System.Xml.Serialization.XmlElementAttribute("WirelessDownloads", typeof(WirelessDownloads))]
        public object Item
        {
            get
            {
                return this.itemField;
            }
            set
            {
                this.itemField = value;
            }
        }
    }

    #region WirelessAccessories
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class WirelessAccessories
    {

        private string colorField;

        private ColorMap colorMapField;

        private bool colorMapFieldSpecified;

        private string additionalFeaturesField;

        private TimeDimension talkTimeField;

        private TimeDimension standbyTimeField;

        private TimeDimension chargingTimeField;

        private BatteryPowerIntegerDimension batteryPowerField;

        private bool solarField;

        private bool solarFieldSpecified;

        private bool refillableField;

        private bool refillableFieldSpecified;

        private bool extendedField;

        private bool extendedFieldSpecified;

        private bool slimField;

        private bool slimFieldSpecified;

        private bool auxiliaryField;

        private bool auxiliaryFieldSpecified;

        private string batteryTypeField;

        private string antennaTypeField;

        private string[] compatiblePhoneModelsField;

        private string manufacturerNameField;

        private string[] keywordsField;

        private string itemPackageQuantityField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }

        /// <remarks/>
        public ColorMap ColorMap
        {
            get
            {
                return this.colorMapField;
            }
            set
            {
                this.colorMapField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ColorMapSpecified
        {
            get
            {
                return this.colorMapFieldSpecified;
            }
            set
            {
                this.colorMapFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string AdditionalFeatures
        {
            get
            {
                return this.additionalFeaturesField;
            }
            set
            {
                this.additionalFeaturesField = value;
            }
        }

        /// <remarks/>
        public TimeDimension TalkTime
        {
            get
            {
                return this.talkTimeField;
            }
            set
            {
                this.talkTimeField = value;
            }
        }

        /// <remarks/>
        public TimeDimension StandbyTime
        {
            get
            {
                return this.standbyTimeField;
            }
            set
            {
                this.standbyTimeField = value;
            }
        }

        /// <remarks/>
        public TimeDimension ChargingTime
        {
            get
            {
                return this.chargingTimeField;
            }
            set
            {
                this.chargingTimeField = value;
            }
        }

        /// <remarks/>
        public BatteryPowerIntegerDimension BatteryPower
        {
            get
            {
                return this.batteryPowerField;
            }
            set
            {
                this.batteryPowerField = value;
            }
        }

        /// <remarks/>
        public bool Solar
        {
            get
            {
                return this.solarField;
            }
            set
            {
                this.solarField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SolarSpecified
        {
            get
            {
                return this.solarFieldSpecified;
            }
            set
            {
                this.solarFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool Refillable
        {
            get
            {
                return this.refillableField;
            }
            set
            {
                this.refillableField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RefillableSpecified
        {
            get
            {
                return this.refillableFieldSpecified;
            }
            set
            {
                this.refillableFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool Extended
        {
            get
            {
                return this.extendedField;
            }
            set
            {
                this.extendedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExtendedSpecified
        {
            get
            {
                return this.extendedFieldSpecified;
            }
            set
            {
                this.extendedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool Slim
        {
            get
            {
                return this.slimField;
            }
            set
            {
                this.slimField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SlimSpecified
        {
            get
            {
                return this.slimFieldSpecified;
            }
            set
            {
                this.slimFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool Auxiliary
        {
            get
            {
                return this.auxiliaryField;
            }
            set
            {
                this.auxiliaryField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AuxiliarySpecified
        {
            get
            {
                return this.auxiliaryFieldSpecified;
            }
            set
            {
                this.auxiliaryFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BatteryType
        {
            get
            {
                return this.batteryTypeField;
            }
            set
            {
                this.batteryTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string AntennaType
        {
            get
            {
                return this.antennaTypeField;
            }
            set
            {
                this.antennaTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CompatiblePhoneModels", DataType = "normalizedString")]
        public string[] CompatiblePhoneModels
        {
            get
            {
                return this.compatiblePhoneModelsField;
            }
            set
            {
                this.compatiblePhoneModelsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ManufacturerName
        {
            get
            {
                return this.manufacturerNameField;
            }
            set
            {
                this.manufacturerNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Keywords", DataType = "normalizedString")]
        public string[] Keywords
        {
            get
            {
                return this.keywordsField;
            }
            set
            {
                this.keywordsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string ItemPackageQuantity
        {
            get
            {
                return this.itemPackageQuantityField;
            }
            set
            {
                this.itemPackageQuantityField = value;
            }
        }
    } 
    #endregion

    #region WirelessDownloads
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class WirelessDownloads
    {

        private string[] compatiblePhoneModelsField;

        private string manufacturerNameField;

        private string additionalFeaturesField;

        private string[] keywordsField;

        private string applicationVersionField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CompatiblePhoneModels", DataType = "normalizedString")]
        public string[] CompatiblePhoneModels
        {
            get
            {
                return this.compatiblePhoneModelsField;
            }
            set
            {
                this.compatiblePhoneModelsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ManufacturerName
        {
            get
            {
                return this.manufacturerNameField;
            }
            set
            {
                this.manufacturerNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string AdditionalFeatures
        {
            get
            {
                return this.additionalFeaturesField;
            }
            set
            {
                this.additionalFeaturesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Keywords", DataType = "normalizedString")]
        public string[] Keywords
        {
            get
            {
                return this.keywordsField;
            }
            set
            {
                this.keywordsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ApplicationVersion
        {
            get
            {
                return this.applicationVersionField;
            }
            set
            {
                this.applicationVersionField = value;
            }
        }
    } 
    #endregion
    #endregion
}
